Statement
cat /dev/random
keeps producing output, as expected, but
tail -f /dev/random
hangs (at least on OSX and SUSE). Why the latter statement hangs?
tail -f does several things:
/dev/random).If there is no end -- as is the case for /dev/random -- that first step will never complete.
cat does not need to find an end to seek back from it, and so it has no point of failure associated.